package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 万能机TestMaster软件上传数据业务对象 n_laboratory_mechanics_all_powerful_machine
 *
 * @author zyb
 * @date 2023-09-11
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NLaboratoryMechanicsAllPowerfulMachineBo extends BaseEntity {

    /**
     * 主键
     */
    @NotBlank(message = "主键不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sampleKey;

    /**
     * 设备编号，等同于编号获取接口的deviceNum参数
     */
    @NotBlank(message = "设备编号，等同于编号获取接口的deviceNum参数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deviceId;

    /**
     * 试样项目代号
     */
    @NotBlank(message = "试样项目代号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String testId;

    /**
     * 试验人员
     */
    @NotBlank(message = "试验人员不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tester;

    /**
     * GCZJ（资料中未注释）
     */
    @NotBlank(message = "GCZJ（资料中未注释）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gczj;

    /**
     * 原始截面积
     */
    @NotBlank(message = "原始截面积 不能为空", groups = { AddGroup.class, EditGroup.class })
    private String area;

    /**
     * 原始截面积(优先级低于area)
     */
    @NotBlank(message = "原始截面积(优先级低于area)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String so;

    /**
     * 形状类型
     */
    @NotBlank(message = "形状类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shape;

    /**
     * 创建时间
     */
    @NotNull(message = "创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date createDate;

    /**
     * 创建人
     */
    @NotBlank(message = "创建人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String creator;

    /**
     * 规格尺寸
     */
    @NotBlank(message = "规格尺寸不能为空", groups = { AddGroup.class, EditGroup.class })
    private String size;

    /**
     * 跨距（部分抗折类试验可能会有）
     */
    @NotBlank(message = "跨距（部分抗折类试验可能会有）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String span;

    /**
     * 长度（矩形）
     */
    @NotBlank(message = "长度（矩形）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String length;

    /**
     * 矩形
     */
    @NotBlank(message = "矩形不能为空", groups = { AddGroup.class, EditGroup.class })
    private String width;

    /**
     * 高度（圆形、矩形）
     */
    @NotBlank(message = "高度（圆形、矩形）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String height;

    /**
     * 直径
     */
    @NotBlank(message = "直径不能为空", groups = { AddGroup.class, EditGroup.class })
    private String doo;

    /**
     * 直径(由于历史原因，上传时直径用的这个字段)
     */
    @NotBlank(message = "直径(由于历史原因，上传时直径用的这个字段)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zj;

    /**
     * 项目名称
     */
    @NotBlank(message = "项目名称", groups = { AddGroup.class, EditGroup.class })
    private String testName;

    /**
     * 开始时间
     */
    @NotBlank(message = "开始时间", groups = { AddGroup.class, EditGroup.class })
    private String startTime;

    /**
     * 开始时间
     */
    @NotBlank(message = "开始时间", groups = { AddGroup.class, EditGroup.class })
    private String endTime;

}
